Personal Paint Tutorial Hard Disk Installation To install Personal Paint 6.4 to your hard disk, just copy the "PPaint" drawer to the desired location. Personal Paint does not require any particular Assign instructions to run, although assigning the logical name "PPaint" to the program directory is useful to tell the system where to look for Personal Paint when an artwork file is double-clicked on. If, for example, the "PPaint" drawer is installed in the partition named "Work", you could add the following command to the "S:user-startup" file: Assign PPaint: Work:PPaint Exploring Personal Paint It is very easy to explore Personal Paint by choosing from the variety of menus and gadgets. Once you start working with the program, remember to frequently save your work during each session, and make periodical backup copies of the entire disks. This will protect your work from mistakes, power failures, software errors and disk read/write problems. The gadgets on the tool bar which is displayed on the left of the screen may respond differently depending on the pointer's position over the gadget (upper or lower half), the mouse button which is used (left or right), and the number of mouse clicks (for cycle gadgets). For example, the tool to the right of the "a" text editing symbol activates the image processing functions. If it is selected with the right mouse button, a requester appears to select different image processing options. The area on which image processing is to be applied can be delimited by dragging the mouse (i.e. moving it while the left button is held down). Personal Paint is not "dangerous to use: most program requesters can be displayed to see what they do, and terminated by selecting the Cancel gadget; painting and image processing operations can be undone; warning messages are displayed whenever there is a risk of overwriting or losing some data. The tools which appear on the bar on the left of the screen can be selected either with the left or the right mouse button, in their upper or lower half. The right mouse button usually activates an options requester associated with the tool. The upper and lower halves of the tool may be selected to specify the unfilled or filled mode. You should try out all tools in all possible combinations (left/right mouse button and upper/lower half). Clicking with the right mouse button on the little number which appears among the predefined brushes pops up a little menu with numbers from one to nine. This means that up to nine different brushes can be used. The current number indicates which custom brush you want to use. Most painting and image processing functions make use of the current foreground and background color. These can be selected from the palette which is displayed on the screen with the left and right mouse button, respectively. Again, left and right mouse buttons have different effects when painting. The right mouse button usually clears the selected (or underlying) area using the background color. If quality is preferred over speed, the Floyd-Steinberg Color Remapping and Color Average Resize should be activated and saved with the default settings ("Settings" menu). If available RAM is very limited, you should close the Workbench screen, and use only one environment and a single brush. Screen modes with higher resolution and more colors require proportionally more memory. If you don't know whether you have a lot of usable RAM, or just very little, check with the Memory Information command. Before painting on a blank screen, you may want to choose an appropriate screen mode, page size and color palette ("Project/Image Format" menu). On Original and Enhanced Chip Set Amigas, low resolution screens (320 by 200) in 32 or 64 colors are normally preferred for paintings with plenty of colors. Higher resolutions limit the maximum number of colors, and are therefore used with palettes of up to 16 different colors. Advanced Graphics Architecture Amigas can work in up to 256 colors in most video modes. When you select a new screen mode, don't forget to set the page size (usually the same as the screen size) and the maximum number of colors. Setting the highest possible values is not necessarily the best choice, especially if there is not much RAM to work with. Objects smaller than the smallest possible screen can be saved as anim-brushes. Personal Paint offers many original features which you might not expect to find in similar programs. You can start impressing image processing operations with a click on a tool, use the GIF file standard to read thousands of 256-color images which are available, grab screens from other Amiga programs, output to PostScript devices adding interesting effects, merge different images into one (and creating one common color palette), reduce the number of colors used by an image and much, much more. If you want to see some examples of what you can do by combining different operations, just go on and read the following sections. Gradient Fill This example will show you what you can do with Personal Paint's special fill and line modes. Choose a high resolution screen format with 16 colors (Project/Image Format menu). A standard PAL or NTSC high resolution mode will do. If you are not annoyed by interlace mode, select an interlaced screen. Display the color palette requester (Color/Edit Palette menu). The requester also appears if you press

. Click on the first color in the row of colors displayed at the top of the requester. Make that color white by setting the R, G and B sliders appropriately (all sliders to the right). If white looks too bright on your monitor, move the Brightness knob to 80% to obtain a light gray. Then go to the second color and make it black (the three sliders should be moved to the extreme left). Now pick the next color (color position 02) and make it dark green (set H, S and B respectively to 137, 100 and 46). Jump to position 08 and set that color to light green (HSB = 82, 61, 86). Set color 09 to dark red (HSB = 0, 100, 66) and color 15 to pink (HSB = 11, 33, 100). Now you need to create the intermediate shades of green and red. To do so, click on dark green, select Create HSV Range (the gadget with a II over the range symbol), and click on light green. Now there should be a smooth transition of colors between dark green and light green. Repeat the process with red: select dark red, click on the Create Range gadget and then select pink. If everything goes well, you can select Proceed, to confirm the changes. Otherwise, repeat the above steps. In the color palette below the tool bar, click on black with the left mouse button, and on white (or gray) with the right button. This will set the foreground and background colors. Clear the image, if it is not already empty, by selecting the Clear tool. Select the smallest predefined brush (the first). You may also do this by typing <.> on the keyboard. Select the Empty Rectangle tool by clicking on the top half of the rectangle image with the left mouse button. Draw a large box, almost as large as the screen, by clicking and dragging with the left mouse button. If the box does not look like you would like it to, select the Undo tool, or type . Pick the largest of the round brushes. Make it even larger by typing <+> half a dozen times (use the plus sign which appears on the alphanumerical keyboard, not the one on the numeric keypad). Select the continuous freehand drawing mode by clicking on the top half of the tool with the left mouse button. Move the pointer inside the box which you have created, click on the left mouse button and move the mouse to draw something like a snail, a worm, or an S-like shape. Release the mouse button when you have finished. Again, select Undo if you would like to try again. Now click on the fill tool using the right mouse button. The Area Settings requester should appear. Select the Manual Gradient Mode by clicking on the Gradient Mode symbol until the four boxes crossed by an arrow appear. Click on the Gradient Type gadget until the Shape symbol is selected (a circle containing four arrows should appear). If you see the correct symbols, select Proceed. The Gradient Fill symbol should appear on the title bar. Now select pink as the foreground color, and dark red as the background color (by respectively selecting the colors in the palette with the left and right mouse button). Move the mouse pointer over any point which is inside the box, but not over the curved shape. The mouse pointer should be displayed using the Fill symbol. Click on the left mouse button. This will take a few seconds. The background of the box should be filled with smooth shades of red. Now select light green (it should be just over red in the palette) and dark green as the foreground and background color. Fill the black shape inside the box as you have just done for the background. You should now see something like a green snail lying on a red cushion. If you wish, you can obtain different variations by exchanging red and green, or light and dark colors. If you want to experiment more applying the same techniques, you can select the Filled Freehand tool (use the left mouse button to click on the lower half of the gadget) and draw a heart-like shape. The heart will be softly shaded using the colors from the current foreground to the background color. Did you expect that you could create similar effects with Personal Paint and just a few mouse clicks? If you are looking for more surprises, just go on reading. Line Pattern For this short example you can use the same screen, image format and colors of the previous example. You will see how you can draw lines composed of color cycles from a sequence of palette colors. Select white (or gray) as the current background color (right mouse button) and clear the image with the Clear tool. Click on the Filled Rectangle tool (lower half of the rectangle image) using the right mouse button. This will display the Area Settings requester. Click on the Gradient Type gadget until the Horizontal Gradient symbol appears (a two-headed arrow completely contained in a circle). While the requester is displayed, you can choose some colors in the screen color palette. Select dark red as the foreground color (use the left mouse button) and pink as the background color (right mouse button). You will see how the Gradient box changes to show a smooth transition of red. Select Proceed. Paint a long, horizontal filled rectangle by dragging the mouse on the screen (left mouse button held down). It should automatically be filled with the colors from dark red to pink. Now click once on the Define Brush tool. Select a horizontal stripe inside the rectangle which contains all gradations of red. Then click on the Line tool using the right mouse button. The Line Settings requester will appear. Cycle the Line Type gadget until Colored Pattern appears. Then click on the gadget corresponding to the first brush (assuming that this is the brush you have already defined). This will create a line pattern which uses the colors that appear on the topmost line of the brush. Click on Proceed to remove the requester. The Line Pattern symbol will appear on the title bar. Now select the large, round, predefined brush, and start drawing some lines or freehand curves of different lengths. You will notice that the path is made up of all the colors in the range which was originally enclosed by the brush. You may try several variations by redefining the color palette with different color spreads. By selecting the shaded brush, applying Brush/Rotate/Horizontal Flip and pasting the new brush to the left or right of the original pattern, you can create "ping-pong" color transitions (with colors softly changing back and forth). Combining Text Editing, Image Processing and Stencils You could start this session using the same screen mode, page size and color palette selected for the previous examples. Select light green as the current background color (right mouse button) and clear the image with the Clear tool. Click on the Text tool with the right mouse button. This will display the Font Selection requester. If you have many fonts, it will take the operating system a few seconds to scan through all of them. Personal Paint will then show you all the fonts which are available. Click on "Topaz 9 oetf". This is a standard ROM-font which should be available on all systems. (If you have a better font, use it.) In the Font Attributes text gadget, change the 9 to 20, append an 's' after the other characters and press . If you have version 2.0, or a higher version of the operating system, you should now see an enlarged version of the Topaz font. Click on Proceed. Select black as the foreground color, move the cursor to the center of the screen and type a short sentence. Now use the right mouse button to select the Image Processing tool. Double-click on Blur Low. The requester should disappear. By dragging the mouse while the left mouse button is held down, select an area of the screen which is sufficiently large to contain the text you have just typed, with a margin of several dozen pixels. Line by line, you should see the text being "blurred". This effect is useful if you want to anti-alias a text typed with a font which has visible "steps", or to smoothly merge a text with the background. Now let's try again, but blurring the pixels which make up the text without affecting the background. Select Undo to cancel the effects of applying image processing to the text. Select the Edit Stencil requester. Put a checkmark on the light green box by clicking on it. Select Proceed. The Stencil Mode symbol should appear on the title bar. Select Blur High after clicking on the Image Processing tool with the right mouse button. Apply image processing again by redefining the area to be processed. The background should remain intact, while blurring should change the outer parts of the characters, making them look a bit like oxidized copper. Try another text color: select dark red and click on the Filled Rectangle tool (left mouse button, lower half of the rectangle). Since the background color is still "protected" by the stencil, you can change the text by painting a rectangle over it. Try blurring again. Then disable the stencil by typing <`> on the upper left of the keyboard: the stencil symbol should disappear from the title bar. Now you can repeat all of the above combinations using different text and background colors, changing some colors in the palette, applying different effects (like Blur High, Randomize High, etc.), activating the F-S Error Diffusion option in the Filter Selection requester, etc. You can use the stencil to protect the text color instead of the background color (in this way, you could quickly recolor the background without modifying the text). Color Reduction and Remapping This example will show you the differences between qualitative and quantitative color reduction, and different types of color remapping. The "Parrot.gif" and "Clown.gif" picture files are used in this section. These files are part of a collection of pictures which is available for use with Personal Paint. Check on the disks which come with the program. If you don't have these files, you may use other pictures having the same format, or contact your Amiga dealer. The single images are also available from public domain sources. If your Amiga employs the Original or Enhanced Chip Set, you do not need to set the screen size before loading the images used for these examples. If you have an Advanced Graphics Architecture Amiga, or any other Display Database-compatible device capable of displaying 256 colors, you must set the screen and image format to 320 by 200 (LowRes HBrite, PAL or NTSC), 64 colors. If you are using a PAL screen, or any other screen having a different size, remember to manually set the image size to the 320 by 200 image format. You should not set more than 64 colors, otherwise you won't be able to appreciate Personal Paint's color reduction and remapping applied to 256-color images. Make sure that Settings/Color Reduction is set to Qualitative and Settings/Color Remapping is set to Simple. Select Project/Load Image and choose the file named "Parrot.gif". (On the data disks which are designed for use with Personal Paint, picture files are stored in the "Pictures" directory.) Double-click on the file name, or select Proceed to load the image. A warning requester might appear, indicating that the selected image has a format and number of colors different from the current environment format. If you have been working with an AA (256-color) system, and have manually set the screen format as explained before, select the lower  gadget to maintain the current format (the Stretch option should be disabled). If you have an Original or Enhanced Chip Set Amiga, just click on Proceed, leaving the default gadget selection unchanged. This will activate the screen mode which most closely matches the format of the selected image, i.e. Low Resolution HBrite. The progress requester keeps you informed about the current status of loading and converting the image. The time it takes also depends on the color remapping mode and the number of colors (if the screen can display all image colors, there is no need to color-reduce and remap). The parrot image should appear on the screen. Select Project/Environment/Copy to Other, followed by Project/Environment/Switch (or press on the keyboard). This will create a second environment, identical to the first one. You will notice that you are in the second environment from the "2:" which precedes the name of the picture on the title bar. Now change the Settings/Color Reduction option and choose Quantitative. To see the difference between the two modes, you can now load the same image again, repeating the same selection on the warning requester. After the usual progress indications, a second parrot will appear. Can you notice the difference at first glance? Look at the tail, and press to switch from one environment to the other: the first parrot has a blue tail, while the second parrot has a gray tail. Blue shades were used very little in that image, but were important to render details like the tail. The qualitative color reduction method respects these priorities. The quantitative method, on the other hand, tends to preserve more shades of similar colors, as you can see if you observe the branches of the trees. Now we'll do another experiment to understand the difference between different methods of color remapping. Leave both images as they are. Reset the Color Reduction to Qualitative. Start from any environment, and load the "Clown.gif" picture. Reply to the program messages as you did before. Now press to go to the other environment. The parrot should still be there. Select Floyd-Steinberg in the Settings/Color Remapping menu, and load "Clown.gif". Now both environments contain the image of a clown. Again, can you spot the difference? Look at the nose of the clown and press a few times. Floyd-Steinberg color remapping has created much smoother color transitions, giving the illusion of a larger color palette by carefully combining different colors. Color Merge This example will require considerably more Chip RAM, and might not work on 1 Mbyte systems. It will show you how to merge the color palettes of different images into a common palette, so that different images can be viewed, overlapped and freely mixed on the same screen. Four different images will be required. If you can spend more time on this, select images which have different color palettes (both in the number of color entries, and in the colors themselves), but were designed for the same screen format. If all the source images have the same format, you can create a simple poster without having to resize each image in a different way. You should be able to create something like the "PPaint.gif" sample file, where each image occupies a quarter of the screen. If you have selected images with a particular format, then select the same format for the screen and image (Project/Image Format menu). The Color Merge process merges different palettes into a new palette which has the same number of colors as the current environment. For this reason, an image format with at least 16 colors should be set for higher quality results. Now select brush number one. You can do this either by typing <1> on the numerical keypad (not on the alphanumerical keyboard), or from the menu which appears when you click with the right mouse button on the little number among the predefined brushes, on the tool bar. Use Brush/Load to load the first of the four pictures. Then select the following brush number and repeat the process until you have four images, each associated to one brush. Don't be surprised if the brushes are not displayed with their correct colors. This is caused by the fact that the screen (i.e. the current environment) may probably use a different set of colors from the brush. Also, don't worry if you are using Load Brush instead of Load Image: you need to do this to be able to process different images at the same time. If you wanted to merge only two pictures, you could use Personal Paint's two image environments. Choose the Color/Merge menu item. In the requester, click on the items which you want to merge. In this example, it should be sufficient to click on the gadgets associated to the first four brushes. If the gadgets are shadowed, you probably forgot to change the brush number before loading a new brush. Select Proceed to see Color Merge in action. If you didn't select Current in the merge requester, you have to select Color/Palette/From Brush to apply the brush palette to the current environment. Now you can cycle through all of the brushes to resize them. This time, as each brush is selected, it is also displayed properly on the screen. If you notice that a brush is deformed, i.e. it is too tall, or too wide, apply Halve Vertical or Halve Horizontal. Otherwise, if the brush is simply too large, select Halve from the Brush/Resize menu. Now you have four brushes which are small enough to be manipulated and combined on the screen. For most Amiga users with some graphics experience who see four completely different pictures on the same screen, it is a surprise to discover how few colors need be used. Paste the brushes on the screen to create an image like "PPaint.gif", or "ColorMerge.gif". You could apply some variations to the process described here. For example, you could activate the Color Average Resize option in the Settings menu. This would considerably slow down resizing operations, but would also improve the quality of brush resizing. Alternatively, you could set the Color Remapping option to Floyd-Steinberg. In that case, however, you would have to first resize the images, and then execute the color merge. Otherwise, resizing the brushes would alter the Floyd-Steinberg patterns created by the color merge and remapping process. If you want to save the image, use Project/Save Image. When choosing the file format, keep in mind that GIF files generally occupy less space than other formats, whereas IFF-ILBM is the standard which will allow you to exchange data with most other Amiga software. If you like special effects on your Workbench, you may want to use colored picture-icons. To conclude this example, click on to hide the tool bar with the color palette. Then look at the screen: can you remember how many colors you used? File Formats Personal Paint and other Cloanto programs use external input/output modules to read and save data in different file formats. I/O modules can be added to extend the software without replacing the main program. The modules are standard Amiga libraries, which can be stored either in LIBS: or in the local directory (e.g. "PPaint:libs"). If libraries exist in both places, the software determines which library is newer, and uses it. Each library may support more than one file format. Some formats may be available only as read formats or only as write formats. For example, images can be written as C source code, but they cannot be read back from that format (a C compiler would be able to process such a file). The Plasma module instead, generates synthetic images, and is only an input module. Some libraries have configuration options which can be set by the user from the file requester, or through the ARexx programming interface. By default, it is not necessary to change the file format options, which are preset in a way which guarantees compatibility, efficiency and processing speed. When a file is saved in the same format in which it was loaded, the settings originally associated to the file format are preserved (unless they are explicitly changed). For example, if an IFF-ILBM image without screen mode information is loaded and edited, it is then saved back without this information. ILBM, PNG, GIF and other file formats usually employ 24-bit color palettes, but not all non-AGA Amiga screen modes have a 24-bit color resolution. Personal Paint always encodes palette colors using 24-bits ("true color") for higher quality, but colors may be rounded to the closest Amiga color step (12 bits, i.e. 4 bits for each Red, Green and Blue component, on original Amiga architectures) when they are copied into the environment palette. In order not to lose color resolution when loading an image and saving it again, you can set the read-only settings REDBITS, GREENBITS and BLUEBITS to 8. This does not apply to brushes, which can be loaded and saved without changes to the palette granularity by Personal Paint, regardless of the current video mode color resolution. It should be kept in mind that Personal Paint is a palette-based program which can perform professional conversions from true color (24/48-bit) data to palette images, but it cannot save back using true color formats such as JPEG (or true-color-mode PNG, PCX, IFF or others), the only exception being true color (8-bit) grayscale images which can be edited as palette-based images (up to 256 levels of gray), and saved as true color images in formats such as PNG. When loading a file, the "AUTO" file format option indicates that the file format should be detected automatically. If more than one loader exists for a specific file format (e.g. DataTypes, SuperView and/or a specific Cloanto I/O module), it may be useful to manually select the preferred loader. Otherwise, the first loader from the top of the list which recognizes the format is used. The following sections list various file formats supported by the I/O modules which can be used with Personal Paint. Options are explained only once, even when they are common to several formats. The section "Personal Paint for Authors" of this tutorial chapter explains some practical applications of the various formats. Note: this version of Personal Paint does not contain all of the I/O modules mentioned (formats like GIF, Photo CD, JPEG and BMP are missing in part due to licensing restrictions, while formats like TIM are supported only from Personal Paint version 7.1).  IFF ILBM  IFF ILBM (from "Interchange File Format - InterLeaved BitMap") is the Amiga standard format. It is very fast, and compatible with most Amiga applications, although it does not compress as well as PNG and GIF. This format supports stencils and transparencies. If a stencil (color mask) is active, it is saved with the image. The ILBM format is also capable of storing 24-bit data and Amiga HAM and HAM8 images, which Personal Paint can load. Comments (Author, Copyright, Annotation) are also supported. Options include Compression (activates or disables compression) and Screen Format (specifies whether to save screen format information with the image). PNG  The PNG (Portable Network Graphics) format is the newest and the most advanced of all the formats supported by Personal Paint. Personal Paint was the first paint program worldwide to support PNG. PNG offers the best compression of all file formats, and manages both palette-based and true color (up to 48-bit) images. PNG can store transparency information, as well as comments. The Automatic option determines whether the library should check the palette and determine if it is a grayscale palette, and only in that case automatically save the image in a special grayscale type of PNG, which is more efficient. An image is considered grayscale if the palette contains 2, 4, 16 or 256 entries being a perfect set of black-to-white shades. The Progressive Display option means that the image is stored in a way as to support progressive display during load. This increases the file size, but allows for some types of mostly online (Internet) viewers to allow for a preview which is raw at the beginning, and progressively more and more detailed. The compression level can be set from minimum (one) to maximum (nine). The maximum compression level takes longer to compress, but it does not affect decompression. GIF  GIF (Graphics Interchange Format, officially pronounced "jif") is a very well-established graphics format, especially on the Internet. Its popularity is only menaced by patent issues which make it necessary to pay a royalty to Unisys Corporation for each piece of GIF software sold. For this reason, the GIF input/output library is not included with all versions of Personal Paint, especially those manufactured by third parties under license from Cloanto. GIF compresses much better than ILBM, and almost as well as PNG. It cannot store true color data. The GIF library includes an option to select between the GIF87a and the GIF89a specification. GIF89a supports comments, transparency information, and animation. The Frame load option allows the user (or Rexx client) to specify a specific animation frame to be loaded. BMP  The library included with Personal Paint supports both the Windows and the OS/2 version of the BMP (BitMaP) format. This format supports palette-based and 24-bit true color images. The Windows variant supports two types of compression (RLE4 and RLE8, used for images having more than 16 colors), but not all BMP loaders support compression. PCX  PCX (ZSoft Paintbrush File Format) is the format originally preferred by simple MS-DOS paint and scanner programs. This format supports palette-based and 24-bit data. Internally, different PCX subformats are used in order to achieve best compatibility with existing PC systems. Two-color images are saved as CGA monochrome files. In this format, a few image loaders may assume color 0 to be black, and color 1 to be white. In such a case, the two colors should be exchanged in Personal Paint's palette before remapping and saving the picture. Images with 4 or 16 colors are stored as EGA/VGA 16-color files (adding extra empty planes if necessary). Images with more colors are stored as 256-color VGA files. The Compatibility option, required to exchange data with some programs, forces the library to only use a rigid set of PC palette sizes, and add unused colors if the image has an intermediate number of color entries. IFF ACBM  ACBM is an acronym of "Amiga Contiguous BitMap format". This is an old IFF format similar to ILBM, only that it is not compressed. Encrypted  The Encrypted format is useful to protect "private" pictures. Encrypted images are modified using a key. If the picture is not loaded using the same encryption key, it will be unreadable. The file name is not encrypted. The encrypted format should not be used, imported or exported where doing so would be illegal. PBM  The PBM (Portable BitMap, for black and white images) format and the closely-related PGM (Portable GrayMap, for grayscales) and PPM (Portable PixMap, 24-bit images) are part of a popular (especially some time ago), mainly freely disributable, set of conversion and image processing tools. Personal Paint's PBM library supports all three formats, each of them both in the binary and in the ASCII variant (Binary option). Data stored in these formats is not compressed. If the Automatic option is disabled, images are always stored in the PPM (24-bit) format. Otherwise, the software automatically detects the best format, based on the image format. Raw  This format was designed for Amiga game developers and other programmers asking for a quick and informal way to incorporate bitmaps into their code. The Colors option can be set to 0 to save only the image data, to 1 to save the palette data followed by the image data, or to 2 to save the image data followd by the palette data. The image data is written bitplane after bitplane (each data-row is WORD-padded). The palette data consists of three bytes (RGB) for each palette entry. TIM  This is the graphics file format of choice on the PlayStation system because it closely matches the display hardware architecture, and therefore is very efficient. The following TIM modes are supported by Personal Paint: 4-bit CLUT, 8-bit CLUT, 16-bit direct and 24-bit direct. TIM files can be found on PlayStation CD-ROMs, which apart from the copy protection information can be read by Amigas with a CD-ROM drive and an ISO 9660 filing system. This means that TIM graphics on PlayStation CDs can be loaded directly into Personal Paint. Of course, Personal Paint can also save different variants of TIM files, which is very important for PlayStation games developers. The following (more technical) notes are dedicated to PlayStation artists and developers. When saving, the width of 4-bit images is rounded up to the next multiple of 4, and the width of 8-bit images is rounded up to the next even number. Unlike "Save Brush", which stores transparency information as set by the transparency settings, "Save Image" does not save any transparency information. This means that images stored with this command will be "opaque", unless the TRANSPBLACK option is set. The TIM format currently supports 16/256-color images ("CLUT" mode) and true color images (16/24-bit "direct" mode). In either format except for 24-bit (which stays 8-8-8), the color resolution is limited to 5 bits per color component (5-5-5, i.e. 15-bit palettes, allowing for 32768 colors or 32 levels of gray). To accurately create images in this color environment it is recommended to set the REDBITS, GREENBITS and BLUEBITS program settings to 5. Several options determine how images are written by Personal Paint. FORMAT: 0 = 2..16-color images are saved as 4-bit files and 32..256-color images are saved as 8-bit files, 1 = Images are saved as 16-bit "direct" files, 2 = Images are saved as 24-bit "direct" files. IMAGEX: Image X coordinate in VRAM IMAGEY: Image Y coordinate in VRAM PALETTEX: Palette X coordinate in VRAM (only for CLUT files) PALETTEY: Palette Y coordinate in VRAM (only for CLUT files) TRANSLUCENT: 0 = All colors (except black and the transparent color, if any) are marked as translucent, 1 = All colors are considered solid colors (only for CLUT files). TRANSPBLACK: 0 = Black is encoded as transparent, 1 = The brush transparent color is encoded as transparent (only for CLUT files). C Source Code (Save Only)  The C source code format is suitable for embedding image data into Amiga C graphics programming environments. C source code files also contain a filled-in Amiga DrawImage()-compatible Image structure and arrays with color palette data in formats suitable for both LoadRGB4() and LoadRGB32(). Unused bitplanes are not output as data, but marked in the appropriate PlanePick and PlaneOnOff fields. The image array data type is defined as "UWORD chip". The "chip" keyword is used by some compilers to make sure that the data is loaded in Amiga Chip RAM at run time. It may be necessary to remove it, or modify it into a different name (e.g. "__chip"). ASCII (Save Only)  This is a simple "text art" format. The Width and Height parameters, in the range 0..32767 indicate the number of characters per row and column, respectively. If one of the two values is 0, then it is adjusted to a size in proportion to the other value, in consideration of the image aspect. If both are set to 0, then the width is adjusted to 80. The Gray Shades string contains a variable number of characters used to render the different levels of gray, from black to white (e.g. "#@08Oo+=-:. "). The more characters there are in the string, the more shades will be used to render the image. JPEG Format (Load Only)  The JPEG (Joint Photographic Experts Group) is a sophisticated, highly-compressible (and lossy, meaning that the original image is not preserved) format to render true color images. It cannot store palette-based images, and it is not suitable to render sharp contrasts. It is ideal for "real life" images. The Quality load option activates a fast and not very accurate algorithm (DCT/IDCT) if set to 0, or a higher-quality (but slower) "fancy upsampling" procedure if set to 1. If the Gray Shades option is enabled, the image is converted to a grayscale picture during the load. The Format setting determines whether the image is to be loaded in its original format (Format = 0), or reduced to 1/2, 1/4 or 1/8 (Format values of 1, 2 and 3, respectively) of its original width and height. Photo CD (Load Only)  This is a Photo CD implementation licensed from Kodak. Personal Paint can load 24-bit images, as well as rotated images. Please note that on a standard Photo CD CD-ROM, pictures are usually stored in a directory named "Photo_cd/Images". The files have names like "Img0001.pcd", "Img0002.pcd", etc. Format values in the range 1..5 respectively select the following image formats: 1: 192 × 128 (BASE16) 2: 384 × 256 (BASE4) 3: 768 × 512 (BASE) 4: 1536 × 1024 (4BASE) 5: 3072 × 2048 (16BASE) Setting Gray Shades to 1 forces a grayscale conversion. The Photo CD implementation includes two loaders. In addition to the normal image loader, a "Photo CD Overview" loader (short: "PCD-OV") is used to load the thumbnail images showing miniatures of the photographs. On standard Photo CDs, these are stored in the "Photo_cd/Overview.pcd" file. A Format value of 1 or 2 respectively selects the 96 × 96 (1) or the 192 × 192 (2) thumbnail format. The Columns value (range: 1..32767) sets the numer of images per row. DataTypes (Load Only)  This I/O module acts as an interface to load any type of pictures supported by the Amiga DataTypes. Both palette-based and true color images are supported (picture.datatype version 43). Plasma (Load Only)  Plasma is not strictly a loader, but rather a generator of fractal images. This library uses a variety of parameters. Width: width of the image to be created; if 0, the current image (or brush) format (width and height) is used. Height: height of the image to be created; if 0, the image or brush format is used. Colors: number of colors of the image to be created (4..256 colors, i.e. depth 2..8); if both Width and Height are set to 0, then the image (or brush) depth is used. Graininess: image "graininess" in 1/10000 (range 5000..500000, default 20000). Random Seed: random seed; if negative, totally random image palettes are generated. Gray Shades: color (0) or grayscale (1) palette; gray images can be useful as alpha channel information. Scanner (Load Only)  A scanner I/O library is not normally supplied with Personal Paint, but it is rather provided with products such as ScanQuix. It is mentioned here mainly to draw attention to the fact that the I/O modules allow for capabilities which go beyond simple file I/O. Personal Paint for Authors Personal Paint offers a unique range of features designed for authors of artwork to be distributed on computer files. In this section, we would like to share with you some of the experience collected by leading artists. We also explain some of the settings we at Cloanto prefer in our own configurations. An image or an animation created with public distribution in mind requires some considerations which are normally not relevant when a file is used only on the author's computer. As the public grows wider, compatibility becomes an issue: the image or the animation may have been created using a screen mode different than what a viewer may have available. Some (especially older) picture and animation players had limitations and bugs, and it could be interesting to have access to a range of options designed to prevent potential difficulties before they become a problem for end users. Associating information such as author, copyright, and other comments to files is usually appreciated both by authors and by the public (as well as by possible publishers). Also, there should be no difficulties or formalities in distributing the icons created by the art application, or even replacing these with new default icons. Both the icons and the image file should be product-neutral (no hidden advertising texts inside the file). After more than six major versions, Personal Paint offers experienced answers to these and many more requirements. Most computing platforms use display modes made of square pixels (i.e. an X/Y ratio of 1, as on the Macintosh, or on the PC's VGA) as a standard. This means that the pixels are exactly as tall as they are wide. To be round, a circle drawn on such a screen would be as wide (in pixels) as it is tall. Not so on the Amiga. The original non-interlaced Amiga modes had a ratio close to 0.5 (so-called "tall-pixels"). A "round" circle could be 10 pixels on the X-axis and 5 pixels on the Y-axis. Most artists prefer to work with square pixels. Yet even here there is no exact match on the Amiga. PAL and NTSC screen modes, for example, have pixels of slightly different ratios. Before it draws a circle, Personal Paint queries the Amiga Display Database to obtain information on the ratio. For example, the Display Database could tell Personal Paint that a "round" circle must be 10 pixels wide and... 9 pixels tall. This is not what most artists want. Rather than working with similar approximations, at Cloanto we prefer to activate the Square Pixels option. This ensures that the resulting images appear correctly when viewed using 1:1 pixels, regardless of the screen mode in which the image was created. Normally, when storing an image in formats such as IFF-ILBM, information about the current screen mode is also saved. When the Amiga was first released, associating a screen mode to an image allowed simple viewer applications to quickly open a screen of the same type as the one used by the author. At that time, options were limited: screens could be either low resolution or high resolution, interlaced or non-interlaced. These were common to all Amigas. Minor difficulties would result from images crossing the oceans separating PAL from NTSC video modes. Today, there are not only different generations of Amiga display hardware, but even third-party graphics boards. Even users of identical Amiga computers may have installed different Monitor files on their systems. Furthermore, applications became more intelligent: Personal Paint, for example, excels in automatically picking the best available screen mode to display an image. Over the years, associating default screen modes to pictures has become more dangerous (the default may not be available, or viewable, on the user's machine) and less necessary (software is more intelligent). At Cloanto, we now prefer to store all images without associating a default screen mode to the file. To switch this option, open the Options window in the Save Image requester and clear the Screen Format setting. File formats which cannot save screen mode information (e.g. PBM) do not have this option. Animations require some additional attention. In accordance with the different Amiga ANIM specifications (standards for animation file formats), a default screen mode must be specified in the file. Personal Paint and the most used Amiga animation players are capable of overriding this information when loading an animation, and can automatically select an appropriate screen mode just as Personal Paint does for images. This is necessary, for example, when an animation's default mode is not supported on the computer where the animation is to be played. Nevertheless, when an animation is saved, the current screen mode is always stored with the animation. At Cloanto, we have decided to associate "DblPAL" screen modes to the animations we create and distribute. These screen modes are supported by all AGA machines, and can be displayed on VGA monitors not supporting 15 kHz modes. Furthermore, the pixel X/Y ratio of PAL is closer than NTSC to 1, which is preferred by most artists. The AGA chip-set is very common among the more active Amiga users. Yet even if the end user's machine does not support DblPAL, the animation can be displayed in other screen modes (the screen mode information is only a hint required by the ANIM standard, not an imperative for applications). Users of original and ECS Amiga chip-sets, as well as users of some display cards such as the Picasso II should consider another issue: color resolution. AGA allows users and applications to define and set colors using 8 bits per color component (red, green and blue). This is 24 bits (or 256 gray-levels, or more than 16 million different color-combinations). Older Amigas only support 4 bits per component (i.e. 16 gray-levels, or 4096 colors). The Picasso II uses 6 bits per component (64 gray levels, or 262 144 colors). This means that on some systems colors cannot be defined with the precision possible on AGA (e.g. on the Amiga 1200 and 4000), for example. Users of Personal Paint can quickly check the color resolution of a given screen mode by displaying the Palette requester and setting any color-slider to the maximum. The numerical value indicates the precision of the display (e.g. a maximum level of 15, 63 or 255 would indicate that the hardware supports 16, 64 or 256 levels for that color component). When a palette is loaded on a system with a lower color resolution, a majority of colors is likely to "snap" to coarser levels. If the image is then saved again, a loss of data may occur. As an artist, you may want to make sure that the colors you see on your system will be loaded and represented the same way by an older Amiga. Or, even if you do not own a system capable of handling 8 bits per color component, you may need to edit images in that resolution without losing precision. Personal Paint offers a solution to all these requirements, by allowing the user to manually set the color precision (number of bits per color component). Even if this is different (higher or lower) than what is supported by the system, Personal Paint can use a custom value for all processing, overriding the Amiga defaults. When the program settings REDBITS, GREENBITS and BLUEBITS are set to 0, Personal Paint uses the maximum color resolution supported by the video device currently used. This is the program's default. Other values, however, force Personal Paint to use specific numbers of bits per color component. For example, setting all three values to 8 allows for precise editing of AGA-resolution palettes even on ECS or Picasso II systems. At Cloanto, where we work with different Amiga computers and graphic boards, we manually set REDBITS, GREENBITS and BLUEBITS to 8 in our own startup files. If you have an AGA computer and you only work in AGA screen modes, you should not need to set these values yourself (by default this is taken care of by Personal Paint), unless you want to emulate a coarser color resolution. When we save an image, at Cloanto we use the IFF-ILBM format if the image is mainly for Amiga distribution. The options we normally set are: compression active, no screen format information. IFF-ILBM is the most supported Amiga image file format, and also offers excellent loading and saving times (e.g. viewers are faster), but its compression is not as good as in other formats (i.e. the files are longer). When space is really tight and excellent compression is a priority, we use PNG (options: compression level 9, no progressive display, automatic mode enabled). Setting a PNG compression level higher than 6 slightly improves compression, but considerably slows down the compression procedure. PNG is also our format of choice when the images are to be read by other computers. We used to prefer GIF for cross-platform distribution, but GIF's popularity was suffocated at the end of 1994, after Unisys Corporation began demanding royalties for software reading and writing GIF (and TIFF/LZW) files. When we write images to be used on an Amiga CD-ROM, we sometimes prefer another format: uncompressed IFF-ILBM (no compression, no screen format information). This can generate quite long files, but on a CD-ROM space is usually not a problem. Due to the minimum software overhead, uncompressed IFF-ILBM files can be loaded considerably faster than other formats, especially on slower machines. When we write animations, at Cloanto we usually store them in ANIM-5 format. This is the most supported standard for Amiga animation files. It also offers good compression. ANIM-7 files can be processed faster, although they are not compressed as well and are not as widely supported as ANIM-5. We use ANIM-7 for 256-color animations, and sometimes to store all types of animations on CD-ROM, when we know that an ANIM-7 viewer is available (e.g. Personal Paint). Very rarely, when a disk is really packed, we store animations in the ANIM-5+7 format. When this format is used, Personal Paint decides whether to use ANIM-5 or ANIM-7 on a frame-by-frame basis, depending on which format yields the best compression. This adheres to the ANIM specifications, but requires that the software loading the animation can handle both ANIM-5 and ANIM-7. We never use ANIM-8. It is neither as popular nor (in general) as good as ANIM-7. Quite often, at Cloanto we use Personal Paint to optimize old animations (among others, using the Optimize Frames command) before saving them again. This alone can halve the size of certain animation files. Some older and not very popular animation viewers do not support frame-by-frame timing. In this case, the Optimize Frames command cannot be used. These same programs usually also do not support more than one color palette per animation (see the introduction to chapter 6). Personal Paint marks these palettes with three dots under the associated frame in the storyboard. At Cloanto, we use frame-by-frame timing and multiple palettes without concerns, since neither of the limitations described here is an issue with the most recent and the most used Amiga animation viewers. A few other options can affect the animation format. Before the animation is saved, we make sure that the current screen mode is the one that we want to associate to the animation (see explanation in this same section). Some older programs have a bug which does not allow them to handle certain types of properly-written ANIM files. DPaint (up to release V) is one of these programs. When compatibility with these applications is important, we disable the Full ANIM Optimization option. As an author or publisher of an image or animation, you may want to fill-in the Author, Copyright and Annotation texts, which are supported by most file formats. You could put your name as the Author, and something like "Copyright © [Year of first publication] [Your name] - Freely Distributable" in the Copyright text. The Annotation could include a postal or E-mail address. Personal Paint allows for this information to be easily edited at any time. Empty fields are not saved, and do not occupy any space in the file. On the Amiga, Workbench icons are usually associated to files. Personal Paints can save images and animations using the default icons stored in the "PPaint:PPaint_Icons" drawer. These icons also determine the Default Tool, which is the program which will be loaded when the file is double-clicked on. If you like the icons which come with Personal Paint (they are freely distributable), you can leave them as they are, or perhaps you may want to change the default tool, for example by putting "VT" instead of "PPaint:PPView". This can be set with the Workbench Information command. PPView is a short program which uses Personal Paint as a viewer (it loads Personal Paint, if it is not already loaded). Please be careful not to Snapshot (Workbench command) the icons inside "PPaint:PPaint_Icons" to a fixed position. When dropping a new default icon inside the drawer, select the Workbench UnSnapshot command. At Cloanto, we usually set the Icons option to Original when we only want to change the file format of a picture or animation. This guarantees that the existing icon image will not be affected. Personal Paint for Internet Publishing Note: many of the features described in this section require version 7.1 of Personal Paint.  As more and more organizations and individuals publish their work on the World Wide Web, it is becoming more important to stand out with carefully thought out web pages. Graphics play an important part in this. Poorly implemented pages annoy users with images having wrong or missing transparency information, lack of progressive display, and long transmission times for 256-color images where 16 or fewer colors could achieve the same results. In addition to supporting Internet still image formats, Personal Paint includes tools to create highly-optimized GIF animations, and to edit "image map databases". GIF animations became increasingly popular after 1995, when several browsers began supporting this format. Image maps make it possible to specify regions on an image, and to associate them to actions that are executed when the user clicks on a region. The "LoadAnimGif", "SaveAnimGif" and "WebMap" Rexx macros contain additional documentation which can be displayed by selecting "About..." in the Macro Selection requester. Common File Formats  Personal Paint is an ideal tool for the creation of palette-based images to be included in HTML documents (the standard for web pages). Two file formats are recommended for this purpose: GIF and PNG. Both formats support progressive display and transparency, the appropriate use of which can make a difference between a good page and a poor page. We recommend the use of both features. GIF exists in two variants: GIF87a and GIF89a. PNG and GIF89a support transparency. GIF87a does not. The GIF format is designed in a way that programs supporting only the "87a" format should be able to read "89a" images, skipping the transparency information. Personal Paint's most recent GIF input/output libraries ("personal_gif_io.library" from version 3.2) allow for the GIF version to be specified in the Options window of the Save Brush requester. Library versions from 5.1 also support reading and writing of GIF animations (with appropriate client programs, such as Personal Paint 7). PNG is technically better than GIF, but it has been officially introduced to the list of WWW-supported formats only in late 1996. It is likely that PNG will slowly replace GIF, which is being suffocated by patent problems. At Cloanto we began using GIF for our WWW images, but we expect to replace it with PNG as more browsers support it. Progressive Display  Progressive (also called "interlaced") display is a feature which is useful whenever it takes a long time (seconds, if not minutes) to load an image. Images stored without this option can be displayed only line by line, from the top to the bottom. It is very difficult to have an idea of the contents of such an image at the beginning of the transmission. If instead the progressive display option was enabled when the original image was saved, the entire image can be viewed in a coarse resolution at the beginning of the transmission, and during the transmission it becomes progressively more detailed. All versions of GIF and PNG support progressive display, although PNG uses a more appealing method. Personal Paint has a Progressive Display setting in the Options window of the Save Image and Save Brush requesters. Images saved using this option occupy slightly more space, but can be displayed progressively during the load. This feature is widely used on the Internet, and it is compatible with all WWW browsers. Transparency  Transparency is a feature which allows part of the image to be defined as transparent. This is useful, for example, when non-rectangular images have to be displayed over a pattern. But even if the background of a non-rectangular shape has the same color of the page background, we recommend setting that color as transparent, because some browsers may remap the image background to a slightly different color than the page background color. Some WWW browsers do not support the HTML commands which set the page background color, so an image background which was intended to be the same as the page, could appear to be different. Transparency can prevent this. Active use of transparency helps maintaining the quality of the page even when these browsers are used. To preserve the best possible page quality even with older browsers we recommend to use transparency and at the same time to also make sure that the transparent color is the same as the page background color. This helps with those few browsers that do not support transparency. Personal Paint saves transparency information only when saving brushes (Save Brush command, rather than Save Image). The transparent color is defined when the brush is defined. If the Transparency option in the Settings menu is set to None, then no transparency is associated to the brush. If instead it is set to Color, then the background color during the brush definition is used as transparent. Other types of transparency, such as transparency shapes which are not associated to a single color, which can be defined and stored in the IFF-ILBM format, are poorly supported on the Internet, and not at all supported by the GIF format. So the only way to mark a region as transparent is to reserve a color for that part of the picture, and selecting it as the background color before the brush is defined. While for still images we can safely recommend to use transparency for the background color even when this is not strictly required, for animations the choice can be more difficult, because transparency may have an impact on the size of the animation file, and also because some older browsers do not properly support certain types of transparent GIF animations. Therefore, for animations we recommend to set Transparency to "None" unless a transparency effect is required. The Frequently Asked Questions section of Personal Paint contains additional notes on possible problems which may be experienced when transparency is applied to GIF animations, and how these can be solved. Color Palettes  It should be considered that even 100% Amiga-oriented web sites are very often (if not preferably, as some statistics indicate) viewed using a PC browser. When they are not operating on a true color desktop (or "Workbench", in Amiga terminology), the majority of PC Internet browsers remap and dither all images using a 216-color "isopalette", which is a palette in which the entries are equally distributed in the color space. This allows for fast and efficient dithering, and is in general preferred to other methods involving dynamic color allocation and change based on the different images. Internet browsers by Microsoft, Netscape and others share a common 216-color isopalette. The remaining colors out of 256 change from browser to browser. The "Colors" drawer in the Personal Paint program directory contains this color palette (as well as the subset of grays) ready for use with Personal Paint. Whenever this choice is easily practicable, we recommend to consider using these colors for palette-based graphics, especially for large surfaces of the same color, which would otherwise risk to be dithered by the browser. Other Recommendations  Newer browsers support a feature called "Low Resolution Preview" ("LOWSRC" attribute in the "IMG" HTML element), which makes it possible to specify a very compact image, usually in low resolution and with very few colors, which is displayed before the higher-resolution image is loaded and displayed in the same place. If this feature is used, it is important to consider that the low resolution image can use progressive display, but the high resolution image should not, because it would immediately cover the preview image. It is important to keep in mind some practical Internet traffic, bandwidth and cost restraints, which suggest that the size of the image files should be as small as possible. If you are planning to publish a 256-color image, try to color-reduce it to 16, or even fewer colors. Very often, the difference in quality can hardly be noticed, but a 16-color image is transmitted twice as fast as one in 256 colors (and costs less, if traffic or time are charged). Personal Paint's most professional quantization mode is activated by setting the Dithering option to Floyd-Steinberg, with the Best Quality option active. It should also be noted, however, that Floyd-Steinberg dithering creates patterns which can slightly reduce the compression rate. Copyright © 1992-1998 Cloanto